package servicos;

import java.util.List;

import persistencia.UsuarioDAO;
import persistencia.base.DAOException;
import persistencia.base.DAOFactory;
import dominio.Usuario;

public class UsuarioRN {

	private UsuarioDAO usuarioDao = DAOFactory.getUsuarioDAO();

	public void salvar(Usuario usuario) throws FalhaDeInclusaoException {

		try {

			usuarioDao.getSession().beginTransaction();
			usuarioDao.save(usuario);
			usuarioDao.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeInclusaoException();
		}
	}

	public List<Usuario> listar() throws FalhaDeInclusaoException {

		try {
			return usuarioDao.findAll();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeInclusaoException();
		}
	}

	public void deletar(Usuario usuario) throws FalhaDeDeletarExcepiton {
		try {
			usuarioDao.getSession().beginTransaction();
			usuarioDao.delete(usuario);
			usuarioDao.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeDeletarExcepiton();
		}

	}

}
